
import java.util.HashMap;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Rafael.Fischer
 */
public class cliente {

    private int codigo;
    private String nome;

    public int getCodigo() {
        return codigo;
    }

    public String getNome() {
        return nome;
    }

    public void setCodigo(int codigo) {
        if (codigo < 0) {
            throw new IllegalArgumentException("Codigo inválido. O codigo deve ser maior que zero");
        }
        this.codigo = codigo;
    }

    public void setNome(String nome) {
        if (nome != null
                && !nome.isEmpty()) {
            throw new IllegalArgumentException("Você deve preencher um nome para o cliente");
        }
        this.nome = nome;
    }
    private HashMap<Integer, contaBancaria> numeroContabancariaCliente = new HashMap();

    public void addContaBancaria(contaBancaria c) {
        if (c == null
                || numeroContabancariaCliente.containsKey(c.getNumeroContabancaria())) {
            throw new IllegalArgumentException("Já existe uma conta bancaria com este numero.");
        } else {
            numeroContabancariaCliente.put(c.getNumeroContabancaria(), c);
        }
    }

    public void setRealizaDepositos(float saldo) {
        for (contaBancaria c : numeroContabancariaCliente.values()) {
            c.setSaldo(c.getValorDeposito() + c.getSaldo());
        }
    }

    public void setRealzarSaque(float saldo) {
        for (contaBancaria c : numeroContabancariaCliente.values()) {

            if (c.getValorSaque() > c.getSaldo()) {
                throw new IllegalArgumentException("Valor invalido. Voce não pode sacar um valor maior do que o saldo da sua conta");
            } else {
                c.setSaldo(c.getSaldo() - c.getValorSaque());
            }
        }
    }
}
